Automatic evaluation of line weights

ABSTRACT

Systems and methods may automatically evaluate printed line weights in an image composition. An image composition may be received and the number of horizontal and vertical rows of pixels may be determined. The number of positive pixels in each of the horizontal and vertical rows may then be determined. An actual size of a pixel may be calculated. The actual size of a pixel may be multiplied by the number of positive pixels in each of the horizontal rows and each of the vertical rows to determine a positive line weight of each of the horizontal rows and each of the vertical rows. A predetermined minimum permissible positive line weight for the image composition may be identified and compared to the positive line weight of each of the horizontal rows and each of the vertical rows.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/853,952 filed April Aug. 10, 2010, the contents of which isincorporated by reference herein in its entirety.

FIELD OF THE INVENTION

The present invention relates, in general, to systems and methods forevaluating positive and negative line weights of an image or collectionof images, and systems and methods for evaluating line weights ofsubmitted images.

BACKGROUND OF THE INVENTION

In the following discussion certain articles, methods, patents, andpublications may be described for background and introductory purposes.Nothing contained herein is to be construed as an “admission” of priorart. Applicant expressly reserves the right to demonstrate, whereappropriate, that the articles and methods referenced herein do notconstitute prior art under the applicable statutory provisions.

Custom imprinted promotional materials represent a large and dynamicsegment of the advertising industry. Many companies choose to spend aportion of their advertising budgets each year on purchasing anddistributing promotional items that have been imprinted with companylogos or other customer designated text or images. This form ofadvertising provides many benefits relative to other forms of promotion.Many custom imprinted promotional items are both durable in nature andperform some useful function. These items, therefore, stay in the handsof potential customers much longer than other forms of advertising andremind them of the company whose logo and/or message are printedthereon. Custom imprinted promotional materials can also generatetraffic and/or excitement for a new product or business. A businessattending a tradeshow or opening a new storefront, for example, mightgive away a unique or desirable promotional item with its logo imprintedthereon to encourage attendees to visit its booth or new location. Theseare but a few of the many reasons custom imprinted promotional materialsare popular.

The range of products that can be custom imprinted is virtuallylimitless. Every sort of product including simple paper goods, textiles,product samples, tools, electronic devices, etc. are available withcustom imprinted promotional messages on them. The foregoing list is, ofcourse, only a sample of the many custom imprinted promotional itemsavailable and is not intended as an exhaustive list. The wide range ofproducts available for custom imprinting, however, can create problemsfor those performing this custom imprinting work.

Each individual product typically has a unique, predefined printablesurface area that is constrained by the size/geometry of the product tobe imprinted and the printing method/apparatus used, among otherconstraints. Because the available printing area varies with the productto be imprinted, it is necessary to have a method for assessing whetherthe space available on any particular product is adequate for theimage(s) and/or text to be imprinted thereon. This assessment is highlydependant upon the nature and design of the image(s) and/or textsupplied. For example, for any given printing equipment and techniquethere is some minimum print size for an image or text. Attempting toprint text or images that are too small will result in substandard printquality, possibly rendering the image illegible and/or unintelligible.Similarly, there exists some minimum separation that must be maintainedbetween printed elements to maintain the quality and legibility of theprinted image and/or text. Therefore, if the image supplied containsprinted elements that are too close to one another, the final printedproduct will be of poor quality.

Traditionally, custom printing businesses maintain large graphic artsdepartments to evaluate the positive and negative line weights ofsubmitted artwork and/or text to determine whether it is suitable forprinting on a particular product. This is time consuming and costly as atrained human must perform the measurements and calculations by hand. Itis therefore one objective of certain embodiments of the invention toprovide a means of quickly evaluating the positive and negative lineweights of an image or collection of images. It is another objective ofcertain embodiments of the present invention to provide a means ofautomating such a process such that human intervention and/or judgmentis not necessary in calculating positive or negative line weights. It isyet another objective of certain embodiments of this invention toprovide an automated means for checking to see whether the negative orpositive line weights of an image or collection of images violates theminimum thresholds for printing on a selected object and/or by aparticular method. Yet another objective is to provide a method andapparatus for permitting customers to configure custom printed productswithout oversight by a graphic artist or other trained professional andensure that the final product will meet customer expectations andquality standards.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a furtherunderstanding of the invention and are incorporated in and constitute apart of this specification, illustrate preferred embodiments of theinvention and together with the detailed description serve to explainthe principles of the invention. In the drawings:

FIG. 1 shows an exemplary portion of a digitized image that may beevaluated according to certain embodiments.

FIG. 2 is a table showing the number of occurrences for each horizontaland vertical line weight found in FIG. 1.

FIG. 3 is a table showing the total occurrence of each line weight foundin FIG. 1.

FIG. 4 is a table showing the relationship between a chosen waiverpercentage and the minimum line weight that may be returned for FIG. 1when evaluated according to certain embodiments.

FIG. 5 is a picture of a circle with lines indicating the possible rowsand columns that could be evaluated for minimum line weight according tocertain embodiments.

FIG. 6 is a picture of the letter G with lines indicating the possiblerows and columns that could be evaluated for minimum line weightaccording to certain embodiments.

FIG. 7 illustrates an exemplary determination of actual printed size ofa pixel with an illustration of a 300 pixel by 150 pixel image to beprinted in a 3 inch by 1.5 inch rectangle.

FIG. 8 illustrates the rectangle of FIG. 7 displayed on top of a customprintable product.

FIG. 9 illustrates an image of a football to be printed on a customprintable product.

FIG. 10 is a block diagram of methods and systems for processing andevaluation of a custom printed product according to certain embodiments.

FIG. 11 is a schematic representation of an exemplary network systemusable by a customer to request a custom printed product.

FIG. 12 is a schematic representation of a computing system.

FIG. 13 is a block diagram of a system for evaluating a custom printedproduct configuration proposal according to certain embodiments.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention relates to a method for evaluating the positiveand negative line weights in an image or collection of images. Incertain embodiments, the present invention relates to a method ofautomatically evaluating the positive and negative line weights in animage or collection of images. In yet other embodiments, the presentinvention relates to methods of automatically determining whether animage or collection of images are suitable for printing on a particularsurface and/or using a particular technique or piece of printingequipment. Yet other embodiments are directed to a method and system forallowing customer to configure and order custom printed products withoutoversight from a graphic designer.

In one embodiment, the invention involves calculating the positive andnegative line weights of an image or collection of images. Positive lineweight is generally defined as the thickness of a printed line orelement while negative line weight refers to the thickness of nonprinted space between two or more printed elements or between a printedelement and the border of the surface on which the printing occurs.Positive line weight is important in printing because for any givenprinting process there is some minimum positive line weight that can besatisfactorily reproduced. Similarly, for any given printing process,there is some minimum negative line weight that determines the qualityand clarity of the image. If any portion of the image or images to beprinted contains any minimum positive or negative line weights less thanthe lowest threshold reproducible by the chosen printing technique, thefinished product may be of poor quality.

To avoid this, the entire image composition (i.e., all images and/ortext elements to be printed and spatial relationship between eachelement) may be converted into a single piece of artwork digitallyrepresenting the image composition. There are a wide variety of possibleformats that could be used to represent the image composition digitallyincluding, but not limited to, raster/pixel format, vector format,bitmap, etc. The “real-life” equivalent size of one pixel is thencalculated based on, for example, a proposed printed size for the entireimage composition. Thus, the “real-life” size of a pixel should beunderstood to be the size that a single pixel from the digitalrepresentation of the image composition would be if the entirecomposition were printed within a proposed area by the selected printingmethod.

This process is illustrated in FIG. 7, which shows a rectangular imprintarea 3 inches by 1.5 inches in which a digital image composition 300pixels by 150 pixels is to be printed. In this example, 3 inches dividedby 300 pixels equals 0.01 inches per pixel, as does 1.5 inches dividedby 150 pixels. Thus, the “real life” size of one pixel in this exampleis 0.01 inches. This can also be referred to as inches per pixel (IPP).

Once the “real-life” size of a single pixel is known, the relationshipbetween each pixel and its adjacent pixels can be evaluated to determinethe horizontal, vertical or diagonal width, or positive line weights, ofall printed elements within the composition. From this information, theminimum positive line weight in the image composition may be determinedand compared to the minimum positive line weight permitted by the chosenprinting technique and/or desired printed size.

One possible embodiment of this process is illustrated in FIGS. 1, 2,and 3. FIG. 1 shows a portion of an image represented in pixels. Eachhorizontal and vertical row in the composition is evaluated to determinethe number of pixels in that row. The number of pixels in each rowcorresponds to the positive line weight of that row in pixels. Forexample, 2 pixels equal a positive line weight of 2. To convert thisline weight in pixels to a “real-life” line weight one would simplymultiply the line weight in pixels by the “real-life” size (i.e. IPP) ofa single pixel as determined by the process described above. FIG. 2shows the number of occurrences in FIG. 1 for each positive line weight(in pixels) calculated for each horizontal and vertical row. FIG. 3shows the total number of occurrences for each positive line weight (inpixels) calculated, whether horizontal or vertical. As FIG. 3 shows, theminimum positive line weight of this image, in pixels, is one pixel andthat minimum line weight occurs two times in the image composition.

Evaluating minimum positive line weight in this manner can create someproblems, however, depending on the image composition being evaluated.Images that contain vertex points (e.g., peak or triangle shapes), forexample, may be problematic. When two lines or elements converge to forma vertex, conceptually the tip of the vertex is a single point of zerowidth. Practically speaking, however, the smallest digitalrepresentation of a point is one pixel. Thus, most or all vertex pointsmay be digitally represented by a single pixel. If a positive line widthof a single pixel is below the minimum line weight threshold for theselected printing size and technique, however, any image containing avertex point may appear to be unprintable. In fact, this is not thecase. Therefore it is desirable to have some way of identifying andfiltering out minimum positive line weights associated with vertexpoints in the image composition.

One possible way to accomplish this is to analyze the digitalrepresentation of the image composition to determine whether any vertexpoints exist and, if so, the location of those vertex points. This maybe accomplished by means of a visual inspection of the image compositionor an automated pattern recognition algorithm. In either case, once thelocations within the image composition of any vertex points are known,the line weights associated with those vertices can be ignored.

Another possible way to deal with the problem of vertex points is todiscount the value of extremely small line widths that are likely theresult of vertex points. This may be accomplished by determining aweighted mean of the pixel count occurrences in an image composition andusing that as the minimum line weight value. One embodiment of thisprocess first involves determining the number of discreet line weights(in pixels) present in the image being evaluated. For example, the imagepresented in FIG. 1 contains 8 discreet line weights (i.e., it containsline weights equaling 1, 2, 4, 5, 6, 7, 8, and 10 pixels). Therefore,the total “number of items” for calculating the weighted mean of FIG. 1is 8. The total number of items is then multiplied by a preselected“waiver percentage” and rounded down to the nearest integer to generatean index value corresponding to the line weight that will be used as theminimum line weight value for the image composition. For example, FIG. 1contains line weights equaling 1, 2, 4, 5, 6, 7, 8, and 10 pixels.Therefore, an index value of 0 would equate to a line weight of 1, anindex value of 1 would equate to a line weight of 2, an index value of 2would equate to a line weight of 4, and so on.

FIG. 4 illustrates the connection between the waiver percentage chosen,and the minimum line weight that would be returned for FIG. 1 for achosen waiver percentage. Thus, if a waiver percentage of 0.265 isselected for evaluating the image composition of FIG. 1, an index valueof two and a minimum line weight of 4 would be returned. This processcan be automated, for example, by first defining an array called“Pixels” containing the value of each discreet line weight present inthe image composition in ascending order. For FIG. 1, such an arraymight contain the following information:

1 2 4 5 6 7 8 10A variable called “WaiverPercentage” may then be defined and set equalto the desired waiver percentage to be applied. A second variable called“NumberOfItems” is also defined and set equal to the length of the“Pixels” array. The following C code can then be used to determine theminimum line width that should be returned.Index=floor(WaiverPercentage*NumberOfItems)MinimumLineWidth=Pixels[Index]This is but one example of how this algorithm may be automated and it isunderstood that many possible ways exist to automate this processincluding, but not limited to, developing a similar algorithm in anotherprogramming language, or embedding such an algorithm in hardware.

It will also be understood by those skilled in the art that theprocesses and examples cited above represent but one possible way ofarriving at a weighted mean for a given image composition. Multiple waysto arrive at such a weighted mean exist. For example, in anotherpossible embodiment the index value may be calculated by multiplying thepreselected waiver percentage by the number of items and rounding to thenearest integer, rather than rounding down to the nearest integer. Otherpossible variation exists that will be clearly understood by thoseskilled in the art in light of this disclosure.

Calculating negative line weight is accomplished in a similar fashion topositive line weights. In one embodiment, the digital representation ofthe image composition is converted to an inverse image to create a newimage composition representing the negative of the original. Thus, allformerly negative spaces are now represented as positive lines or whatis referred to herein as “negative pixels”. Then, just as before, the“real-life” equivalent size of one negative pixel, based on the selectedprinting area and technique, is calculated. Once the “real-life” size ofa single negative pixel is known, the relationship between each pixeland its adjacent pixels can be evaluated to determine the horizontal,vertical or diagonal width, or negative line weights, of all printedelements within the composition. From this information, the minimumnegative line weight in the image composition may be determined andcompared to the minimum negative line weight permitted by the chosenprinting technique and/or desired printed size. In most respects thisprocess is identical to that followed to evaluate positive line weights.Vertex points appearing in the negative image are similarly analyzed anddiscounted according to one of the previously stated methods.

One possible embodiment of this process is illustrated in FIGS. 5-6.FIG. 5, for example, shows a digital representation of a circle. Theblack line defining the circle 501 is the positive image and the whitespace inside and outside the circle is the negative image. It is thisnegative image that is evaluated to determine the negative line weight.Note, however, that the negative space between the positive image andthe border of the printed space is not included in the calculation ofnegative line width. Thus, in both FIGS. 5 and 6, only the vertical andhorizontal segments 502 and 601 are evaluated

FIGS. 7-9 illustrate an example of the foregoing process. FIG. 7 shows arectangle 701 representing a permissible imprint area. In this exampleit is 300 pixels by 150 pixels. FIG. 7 also illustrates that an actualimprint area of 3 inches by 1.5 inches is specified. Therefore eachpixel represents 0.01 inches when actually printed (i.e., 3 inches/300pixels=1.5 inches/150 pixels=0.01 inches per pixel). FIG. 8 thenillustrates the size of the imprint area 701 on an actual object 801 tobe printed. Often, however, the image composition submitted must bescaled to fit. For example, assume that the actual bitmap of the imagecomposition submitted (in this case, a football 901) is 606 pixels by402 pixels and it is desired to scale it down to 202 pixels by 134pixels to make it fit within the permissible print area (see FIG. 9). Insuch a case, the scaling factor is 0.33 (i.e., 202/606=134/402=0.33). Inthis example it is also assumed that the composition's minimum positiveline weight is 12 pixels and the minimum negative line weight is 9pixels.

Given the above information the minimum positive and negative lineweights in inches can now be calculated. The IPP=0.01 and the scalingfactor=0.33, therefore the minimum positive line width equals:12*0.33*0.01=0.04 inchesLikewise, the minimum negative line width in inches equals:9*0.33*0.01=0.03 inchesAs long as these values are permissible given the printing processselected, the image can then to be printed.

Note as well that certain other information about the printed image canbe calculated. Assume here that the image of FIG. 9 contains 200,000non-empty pixels (i.e., positive pixels) out of the total 243,612 pixelsin the image (i.e., 606 pixels*402 pixels). From this it is possible todetermine the print area of the image by multiplying the number ofnon-empty pixels by the square of the scale factor and the square of theIPP. In this case, that yields a printed area of 2.22 square inches(i.e., 200,000*0.33*0.33*0.01*0.01=2.22 square inches).

One advantage of the above method for evaluating positive and negativeline weights is that it is well suited to automation so that adetermination can be made automatically as to whether a given imagecomposition is suitable for printing in a particular space and/or by aparticular method. This is particularly useful in taking orders forprinting of custom promotional items, particularly where it is desirableto determine whether a customer's image composition is suitable forprinting without the need for a trained human to evaluate thecomposition.

Therefore, another embodiment of the invention is directed to anautomated submittal and evaluation process and/or device wherein acustomer can submit an image composition and select the items on whichthe customer would like the composition printed. In general, the presentembodiment relates to design of custom printed products and promotionalitems. Certain parameters are selected. Objects are associated with theparameters, such that selection of the certain parameters causes theassociated objects to be called. Design rules are then applied to theassociated objects to create a design. Typically, the design rules areknowledge-based and apply certain rules to the creation of the design.Examples of these rules include, but are not limited to, the methods ofcalculating positive and negative line weights, and identifying anddiscounting vertex points as taught in this disclosure.

Referring now to FIG. 10, a block diagram of methods and systems 200 fordesign of a customizable product is shown according to a possibleembodiment of the present disclosure. Operational flow of the system 200begins at a start operation 202. Operational flow proceeds to a receiveoperation 206. The receive operation 206 receives sales codes related torequested features desired by a potential purchaser of the customizableproduct. By the term “sales codes” or “parameters” herein, it is meantsales codes, option identifiers, or parameters. The requested featuresare a subset of those features for which sales codes are assigned anddesign options are available. A design option refers to the choicebetween the presence or absence of various features of the customizableproduct, or selection among a group of inconsistent features. Forexample, printing color would be considered a design option for which acustom printed product would have at least two configurations available.

Preferably, receive operation 206 receives the sales codes from a webutility, such as a web portal or other generalized user interface. Theweb portal can present the prospective purchaser or a dealer with one ormore screens in which the user of the web portal can choose one or moredesign options. The web portal also contains means of transmitting thedesired image composition. There are many means of transmitting an imagecomposition known to those skilled in the art. For example, thecomposition may be sent via email, FTP, or some other upload protocol ifthe image exists natively in a digital format. If the composition is notin a digital format, it may be scanned, or digitally photographed andthen transmitted via any appropriate method. These are but examples, andit is understood that those skilled in the art will recognize that otherequivalent transmission methods exist.

Select operation 208 selects or accesses graphical objects associatedwith, or related to, the sales codes. Graphical objects refer to storeddrawings or portions of drawings that relate to the specific products orexamples to be represented. For example, a graphical object of a jacketmay be stored as a self-contained module. A second jacket in anothercolor can be stored as well, where the two jackets are distinguishablebased on a customizable characteristic (e.g., color).

In another possible embodiment, a graphical object is data, such as aset of coordinates in a computer-aided drawing program, such as AutoCADor other system, which in turn creates a drawing of a custom printedproduct or a portion thereof. Preferably, sales codes refer toidentifiers related to specific identifying or customizable features ofa custom printed product that would distinguish that product from otherproducts and/or other permutations of the same custom printed product.The graphical objects relate to the sales codes in that the sales coderepresenting a specific selectable feature of the custom printed productcorresponds to a graphical object displaying that feature.

In an example of a jacket customized for a particular customer, a salescode corresponding to a red jacket corresponds to a graphical object ofa jacket in the color red. A sales code corresponding to a green jacketcorresponds to a graphical object of a jacket in green. By selecting oneof the sales codes, the corresponding graphical object is selected aswell.

Select operation 208 loads the graphical objects in preparation forprocessing in design rules operation 210. In a possible embodiment,system 200 includes default graphical objects to be used for a customprinted product for which no design option is selected and no sales codeis provided. In a second possible embodiment, the user interface isconfigured to produce sales codes for system 200 regardless of whetherall design options are selected by generating default sales codes. In athird possible embodiment, if particular options are not selected and nosales code is provided, an alert can be generated to the user that suchinformation is required.

Consider, for example, that every printable product has some maximumavailable printable space. In this embodiment where the composition'sminimum line weights are calculated first, the customer interface may beconfigured to only present those objects with sufficient printable spaceto accommodate the composition while not violating the minimum lineweight thresholds. Alternatively, where a variety of printing techniquesare potentially possible, the customer may be permitted to choose onlyfrom those methods that will allow satisfactory printing of his or hercomposition in light of the minimum positive and negative line weightsit contains. These are but a few examples of how various design optionsand sales codes may be handled.

Design rules operation 210 may apply one or more design rules configuredto accommodate the sales codes received by system 200. Preferably designrules refer to computer-implemented rules defined in system 200 that areused to form a custom printed product. Typically, the design rules areknowledge-based rules and indicate how the graphical objectsinterrelate, and can act as a restraint upon specific configurations ofgraphical objects such that a practical design of the customizableproduct is accomplished via an at least partly computerized process. Atlease one of these design rules may be an evaluation of the imagecomposition's positive and negative line weights according to themethods previously described. Design rules operation 210 may apply thedesign rules to the graphical objects determined and image compositionreceived using receive module 208. Design rules module 210 therebycreates a proposed design drawing for the custom printed product thatintegrates the design options desired including the image composition.

A wide variety of design rules can be used, and can relate to a varietyof best practices known by the manufacturers of the custom printedproduct. These best practices correspond to the design rules applied inthe design rules operation 210. The design rules therefore provide aknowledge-based system for accomplishing a large portion of the initialdesign process.

In an example implementation of a design rules operation 210 used tocreate a proposed design drawing for a jacket, a design rule may berelated to the jacket's size. Options affecting the jacket's size, suchas the color when certain colors are available only in certain sizes,may be changed due to a customizable option, but not to the extent thatthe size requirement is compromised. Minimum permissible line widths fora particular product or printing process are other examples of suchdesign rules. Thus, for example, a customer would not be permitted toselect an object for custom printing or a printing method when such aselection would violate the minimum line width requirement for thatproduct or method in light of the submitted image composition.

Operational flow proceeds to a communicate operation 212. Thecommunicate operation 212 communicates a drawing created in the designrules module 210. The drawing is a proposed design drawing of the customprinted product, and reflects the design options selected by a user ofthe system 200. In one embodiment, the communicate operation 212transmits the proposed design drawing to a remote computer, where it canbe accessed by a user of the system such as a dealer, or a prospectivepurchaser. In a further embodiment, the communication module 212 causesthe proposed design drawing to be displayed locally for further reviewby design and/or validation by a design group.

Operational flow terminates at an end operation 214.

Referring now to FIG. 11, a schematic representation of an exemplarynetwork system useable by an end-user, or customer, to request a customprinted product is shown. Preferably, the network system 300 interfaceswith a prospective purchaser 302, such as a private or governmentalindividual or entity. In one possible embodiment, the prospectivepurchaser 302 is a prospective purchaser of custom printed promotionalitems or other custom printed objects. The prospective purchaser 302defines the design options by using a computing system 304 interfaced toa server 306 via a network 308. Optionally, a customer liaison 310, suchas a dealer for the custom printed product, assists the prospectivepurchaser by receiving design requirements from the user and enteringthe user information into the computing system 304. The computing system304 can be a thin client system, a kiosk-type system such as CITRIX orAJAX, or a “thick” personal computing system capable of hosting one ormore applications. Such systems are known to those of ordinary skill inthe art.

Preferably, the server 306 is a file/database server, and can optionallybe configured to act as a web content server as well, such that the userinterface is hosted from the server 306 to a client system, such as thecomputing system 304. The server 306 also stores a plurality of designrules, graphical objects, and sales codes, as described above. In apossible embodiment, the server 306 is a web and database serverconfigured using a web-enabled database management system to present auser interface to a browser displayed on a display of a client computingsystem, such as the computing system 304. In one embodiment, the userinterface is a web portal. In a further embodiment, the user interfaceresides on the computing system 304 and data is shared across thenetwork 308.

The network 308 linking the server 306 and computing system 304 can beany communications link or a number of internet, WAN, LAN, or othertypes of TCP/IP or other networking protocols configured to provide acommunication link between the systems.

Optionally, one or more computing systems 312 link to the server 306 viasome type of network or communication link. An individual or team ofindividuals assigned to design overview 314 can use these computingsystems to test and/or validate the design of the customizable product.

FIG. 12 illustrates an exemplary architecture for a computing systemthat can be used to implement aspects of the present disclosure, such asthe computing systems 304, 312 or the server 306 of FIG. 11. Thecomputing system architecture includes a general purpose computingdevice in the form of a computing system 400. The computing system 400can be used, for example, as the computing system or server of FIG. 10,and can execute program modules included in the administrative softwareor user software disclosed below.

The computing system 400 including at least one processing system 402. Avariety of processing units are available from a variety ofmanufacturers, for example, Intel or Advanced Micro Devices. Thecomputing system 400 also includes a system memory 404, and a system bus406 that couples various system components including the system memory404 to the processing unit 402. The system bus 406 may be any of anumber of types of bus structures including a memory bus, or memorycontroller; a peripheral bus; and a local bus using any of a variety ofbus architectures.

The system memory 404 can include read only memory (ROM) 408 and randomaccess memory (RAM) 410. A basic input/output system 412 (BIOS),containing the basic routines that help transfer information betweenelements within the computing system 400, such as during start up, istypically stored in the ROM 408.

The computing system 400 can also include a secondary storage device413, such as a hard disk drive, for reading from and writing to a harddisk (not shown), and/or a compact flash card 414.

The hard disk drive 413 and compact flash card 414 are connected to thesystem bus 406 by a hard disk drive interface 420 and a compact flashcard interface 422, respectively. The drives and cards and theirassociated computer readable media provide nonvolatile storage ofcomputer readable instructions, data structures, program modules andother data for the computing system 400.

Although the exemplary environment described herein employs a hard diskdrive 413 and a compact flash card 414, other types of computer-readablemedia, capable of storing data, can be used in the exemplary system.Examples of these other types of computer-readable mediums includemagnetic cassettes, flash memory cards, digital video disks, Bernoullicartridges, CD ROMS, DVD ROMS, random access memories (RAMs), or readonly memories (ROMs).

A number of program modules may be stored on the hard disk 413, compactflash card 414, ROM 408, or RAM 410, including an operating system 426,one or more application programs 428, other program modules 430, andprogram data 432. A user may enter commands and information into thecomputing system 400 through an input device 434. Examples of inputdevices might include a keyboard, mouse, microphone, joystick, game pad,satellite dish, scanner, digital camera, touch screen, and a telephone.These and other input devices are often connected to the processing unit402 through an interface 440 that is coupled to the system bus 406.These input devices also might be connected by any number of interfaces,such as a parallel port, serial port, game port, or a universal serialbus (USB). Wireless communication between input devices and interfaces440 is possible as well, and can include infrared, Bluetooth,802.11a/b/g, cellular, or other radio frequency communication systems. Adisplay device 442, such as a monitor or touch screen LCD panel, is alsoconnected to the system bus 406 via an interface, such as a videoadapter 444. The display device 442 might be internal or external. Inaddition to the display device 442, computing systems, in general,typically include other peripheral devices (not shown), such asspeakers, printers, and palm devices.

When used in a LAN networking environment, the computing system 400 isconnected to the local network through a network interface or adapter452. When used in a WAN networking environment, such as the Internet,the computing system 400 typically includes a modem 454 or othercommunications type, such as a direct connection, for establishingcommunications over the wide area network. The modem 454, which can beinternal or external, is connected to the system bus 406 via theinterface 440. In a networked environment, program modules depictedrelative to the computing system 400, or portions thereof, may be storedin a remote memory storage device. It will be appreciated that thenetwork connections shown are exemplary and other methods ofestablishing a communications link between the computing systems may beused.

The computing system 400 might also include a recorder 460 connected tothe memory 404. The recorder 460 includes a microphone for receivingsound input and is in communication with the memory 404 for bufferingand storing the sound input. The recorder 460 also can include a recordbutton 461 for activating the microphone and communicating the soundinput to the memory 404.

A computing device, such as computing system 400, typically includes atleast some form of computer-readable media. Computer readable media canbe any available media that can be accessed by the computing system 400.By way of example, and not limitation, computer-readable media mightcomprise computer storage media and communication media.

Computer storage media includes volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium that can be used tostore the desired information and that can be accessed by the computingsystem 400.

Communication media typically embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” refersto a signal that has one or more of its characteristics set or changedin such a manner as to encode information in the signal. By way ofexample, and not limitation, communication media includes wired mediasuch as a wired network or direct-wired connection, and wireless mediasuch as acoustic, RF, infrared, and other wireless media. Combinationsof any of the above should also be included within the scope ofcomputer-readable media. Computer-readable media may also be referred toas computer program product.

FIG. 13 displays a block diagram of a system 500 for price quotation anddesign according to a possible embodiment of the present disclosure. Thesystem 500 generally provides a logical structure by which design of acustom printed product takes place. The system 500 can operate acrossthe system 300 of FIG. 11, although additional or alternateconfigurations can also be used.

The system 500 includes a customer request operation 502. The customerrequest operation 502 represents the interaction between the prospectivepurchaser 302 and the computing system 304 of FIG. 11, optionallyincluding customer liaison 310. A prospective purchaser communicateswith the customer liaison, such as a dealer of the custom printedproduct, who in turn operates the user interface. A dealer requestoperation 504 represents the dealer or other customer liaison receivinginstructions, or requests, from the customer, such as design optionpreferences or other cost/design parameters, and forming a request for adesign drawing and price quotation.

The user interface, or portal, presented to the customer 302 or customerliaison 310 allows for entry of the customer request into the computingsystem 304 of FIG. 11. The portal can be an application based portalresiding on the computing system and sharing data with the server 306 ofFIG. 11. Alternately, the user interface can be a web-based userinterface configured to display design options to the user of the portalvia a web browser, such as Microsoft Internet Explorer, Mozilla Firefox,Opera, or other web browsing software. In one implementation of a webportal, the user interface is an ASP web client.

Request and design data received from the customer 302 or customerliaison 310 is converted into sales data and shared with an automateddrawing module 506 and an output module 510. Sales data refers to one ormore sales codes corresponding to the design options selected using theportal. The output module 510 provides a final proposed design drawingto the user.

The automated drawing module 506 and output module 510 both interfacewith a design database 507. The database can be any of a number ofcommercially available databases, and in one possible embodiment is aSQL relational database management system (DBMS). In one implementation,an Oracle SQL database is used, and VB.NET programming provides a commoncommunication language between the user interface and the designdatabase 507. Preferably, the design database 507 contains defined salescodes, design options, and correlations to graphical objects related tothe custom printed product or products.

The user interface, or portal, presents design options to the user toform a custom printed product. The portal submits to automated drawingmodule 506 and output module 510 the user's selected design options. Theportal can be configured to require a full set of design options, suchthat the set of design options defines a possible layout of a customprinted product. If a custom printed product cannot be defined based onthe design options selected, the portal optionally displays a form toprompt the user to select the remaining design options necessary todefine the custom printed product. In an alternative embodiment, system500 assigns default design options for each of the unselected designoptions.

Automated drawing module 506 generates a drawing based on the sales dataand image composition provided via the portal either before or afterevaluating the image composition according one of the methods of thisdisclosure to determine if it is suitable for printing on the customprinted product selected. The automated drawing module 506 receives thesales data entered into the user interface and correlates the sales datato graphical objects stored in a drawing block library 512. Thecorrelation information can be located within the automated drawingmodule 506, design database 507, or drawing block library 512. Theautomated drawing module 506 applies design rules to the graphicalobjects to form a proposed design drawing based on requested parameters.The design rules define which graphical objects are used, and how thegraphical objects are formed into the proposed design drawing of thecustom printed product.

In one possible embodiment, the graphical objects stored in the drawingblock library 512 include pre-designed graphical features. In a furtherpossible embodiment, the graphical objects include pre-programmedroutines which define a method by which the graphical objects are drawn.

Preferably, the design options selected using the portal correlate tosales codes, which in turn correlate to graphical objects stored in thedrawing block library 512, as described above, such as via tables in arelational database accessed by the automated drawing module 506. Forexample, a schema containing a table of sales codes could reference afact table containing graphical objects. In another example, the salescodes are stored separately in the design database and accessed by theautomated drawing module 506 for correlation to graphical objects storedin the drawing block library 512. Other configurations or methodologiesfor storing design rules and correlations could be used as well. Thesystem 500 is configured to apply design rules to the graphical objectto form a design based on requested parameters. The proposed designdrawing can be, for example, a collection of preferences embodied asgraphical objects. In a possible embodiment, the design database 507 orautomated drawing module 506 resident upon the server 306 of FIG. 3triggers the design process. In a further possible embodiment, thedesign process is triggered externally to the server.

Preferably, output operation 510 stores the graphical objects andassociated information stored in design database 507 for retrieval by acustomer or dealer via the portal. In another possible embodiment,output operation 510 stores the graphical objects in an external memoryto design database 507, such as in server 306 or a computing system 304,312. The associated information includes, for example, prices for theselected custom printed product, or print layout information.

The system 500 optionally validates the proposed design as well. Thesystem 500 automates application of one or more design rules to it toverify that the design is technically feasible. By technically feasible,it is intended that the design meet the criteria set by the prospectivepurchaser in the customer request operation 502, while also meeting theconstraints mandated by the physical size and shape of the customprinted object selected, and the technical limits of the printingprocess selected. Examples of such design rules include, but are notlimited to, minimum positive line weight checking, minimum negative lineweight checking, and peak/vertex checking and filtering according to themethods of this disclosure. System 500 passes or fails the generateddesign. A log within the design database 507 stores data regarding thedesign validation process, such as steps taken to validate the design,rules applied, and outcome (i.e. pass or failure of the design accordingto one or more design rules). System 500 therefore ensures that outputoperation 510 and automated drawing creation module 506 provide avalidated design that corresponds to the price and part quotation outputfrom output operation 510 and proposed design drawing from automateddrawing creation module 506.

A notification operation 526 notifies the prospective purchaser that theproposed design drawing and price quotation are prepared and can beviewed. In one embodiment, the notification operation 526 transmits theproposed design drawing and price quotation to the user directly. Inanother embodiment, the proposed design drawing and price quotationreturn to the portal for viewing by the dealer and/or prospectivepurchaser. In a third embodiment, the proposed design drawing and pricequotation are stored on a server for retrieval by the user, such as indesign database 507. In an alternate embodiment, the notification modulenotifies a user about additional information needed by the designdatabase 507 as necessary to form the proposed design, above.

The dealer or other portal user can use the portal to iteratively changedesign parameters and receive proposed design drawings and pricequotations without requiring interaction from a designer or otheremployee of the dealer. When the dealer or customer arrives at acombination of design options which correspond to a proposed design andprice quotation acceptable to the customer, the customer or dealer canapprove the design in the portal.

Once the proposed design is approved, an optional design reviewoperation 518 is instantiated. The design review operation 518represents a number of resources used to fully validate the designgenerated using the portal, database, design options, sales codes,graphical objects, and design rules. In one embodiment, a design reviewteam comprised of designers reviews the computer-generated proposeddesign drawing and price quotation for accuracy and completeness. Amodification operation 520 represents modification work required basedon missing or invalid sales codes as generated using the automatedprocess. In a possible embodiment, the drawing modifications during thedesign review correspond to modification of the graphical objects, salescodes, or design rules such that future proposed design drawings andprice quotations do not require the same changes. For example,additional design rules are created by the design review team such thatdesign review needs decrease with use of the system 500. In oneembodiment, the design review operation 518 and the modificationoperation 520 operate iteratively, in that the modified drawing thenreceives full design review in the design review operation 518.

An optional approval operation 522 represents final approval of thedesign following a full design review. In one embodiment the approvaloperation 522 indicates that one or more individuals have approved thedesign. The individuals can be, for example designers, customers, ordealers. In a further embodiment, the approval module 522 indicates thata computerized validation process has successfully evaluated the designfor the custom printed product including the customer provided imagecomposition following the full design review.

A publishing operation 524 compiles the approved design drawing, andoptionally also compiles a price quotation. The publishing operation 524prepares the design drawing for viewing by the dealer and/or prospectivepurchaser, and for transmission to a user via a network or to the userportal. In a possible embodiment, the publishing operation 524 preparesa document in PDF format (Portable Document Format, by Adobe Systems,Inc.) incorporating the approved design drawing and/or the quotation.Other document formats can be used as well. In a possible embodiment,the format of the document provided to the user is an option presentedto the user in the user portal, and the document is formattedaccordingly prior to transmission to the user.

The design database 507 optionally also stores information related tothe rate at which a prospective purchaser accepts the bid and proposeddesign. This information, referred to herein as the success rate of thesystem, can include information related to the number of proposalsgenerated, the number of proposals generated for a particular purchaser,the size or cost of the order accepted and/or rejected, and other data.Developers access this information to improve the process performed bythe system 500 as well as to improve offerings, such as design optionsavailable for the custom printed product.

Although the foregoing description is directed to the preferredembodiments of the invention, it is noted that other variations andmodifications will be apparent to those skilled in the art, and may bemade without departing from the spirit or scope of the invention.Moreover, features described in connection with one embodiment of theinvention may be used in conjunction with other embodiments, even if notexplicitly stated above.

The invention claimed is:
 1. A computerized method of automatically evaluating suitability of an image composition for reproduction, the method comprising: receiving the image composition; multiplying an actual size of a pixel by a number of positive pixels in each of the horizontal rows of the image composition and each of the vertical rows of the image composition to determine a positive line weight of each of the horizontal rows and each of the vertical rows; receiving a predetermined minimum permissible positive line weight for the image composition; and comparing, by one or more processors, the positive line weight of each of the horizontal rows and each of the vertical rows to the predetermined minimum permissible positive line weight.
 2. The method of claim 1, further comprising converting the image composition to a pixel format image composition.
 3. The method of claim 1, wherein positive line weight is the thickness of a printed line or element.
 4. The method of claim 1, wherein calculating the actual size of a pixel further comprises determining a horizontal imprint area of the image composition and dividing by the number of horizontal pixels in the image composition or determining a vertical imprint area of the image composition and dividing by the number of vertical pixels in the image composition.
 5. The method of claim 1, further comprising: determining the number of horizontal rows of pixels; determining the number of vertical rows of pixels; determining the number of positive pixels in each of the horizontal rows; and determining the number of positive pixels in each of the vertical rows.
 6. The method of claim 1, further comprising converting the image composition to a negative image for determining negative line weight of each of the horizontal rows and each of the vertical rows.
 7. The method of claim 1, further comprising identifying all vertex points in the image composition, and excluding any line weights associated with the vertex points from consideration when determining the line weights of each of the horizontal rows and each of the vertical rows.
 8. The method of claim 7, wherein said vertex points are identified by image pattern recognition software.
 9. The method of claim 1, further comprising: determining a weighted mean of all discrete pixel count occurrences in the image composition, wherein the weighted mean is calculated by the following steps: defining a waiver percentage wherein said waiver percentage is a value between 0 and 1; assigning index values, starting with 0 and continuing with natural numbers in increasing order, to each discrete line weight, in pixels, occurring within the image composition; multiplying said waiver percentage by the number of discrete line weights occurring in the image composition and rounding the result down to the nearest integer value defining a calculated index value to one of the index values previously assigned; setting the line weight associated with said calculated index value as the minimum line weight in said image composition and comparing the minimum line weights to a predetermined minimum permissible line weight.
 10. The method of claim 1, further comprising: receiving one or more selected parameters; and evaluating whether the image composition can be reproduced based on the one or more selected parameters.
 11. The method of claim 10, wherein the one or more parameters depend on the materials on which the image composition needs to be reproduced.
 12. The method of claim 10, wherein the one or more parameters are sales options associated with a plurality of custom printable products.
 13. The method of claim 10, further comprising: accessing one or more graphical objects associated with the one or more selected parameters; and applying one or more design rules to the one or more graphical objects to generate a proposed design drawing.
 14. The method of claim 13, wherein said one or more design rules includes at least one rule comprising minimum permissible line weights in the image composition.
 15. The method of claim 13, wherein said one or more design rules define which graphical objects are used, and how the graphical objects are formed into the proposed design drawing.
 16. The method of claim 13, further comprising outputting a determination of suitability of an image composition for reproduction.
 17. The method of claim 13, further comprising storing the proposed design drawing in a database.
 18. The method of claim 1, further comprising determining suitability of an image composition for reproduction.
 19. The method of claim 1, further comprising outputting a determination of suitability of an image composition for reproduction. 